/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import Entidades.Agencia;
import Entidades.Gerente;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

/**
 *
 * @author Thalyta
 */
public final class PersistenciaoGerente {
    ArrayList <Gerente> gerentes ; 
    
    
    public PersistenciaoGerente() {
        gerentes = new ArrayList<>();
        leituraGerente();
    }
    
     public void leituraGerente() {
        try {
            File arq = new File("src/AquirvosTXT/Gerente.dat");//Dados aqui e o nome do pacote e clientes.dat e o nome do meu arquivo para salvar nele
            FileInputStream fi = new FileInputStream(arq.getAbsolutePath());
            try (ObjectInputStream oi = new ObjectInputStream(fi)) {
                gerentes = (ArrayList) oi.readObject();
            }
        } catch (IOException | ClassNotFoundException e) {
            System.out.println(e.getMessage());
        }
    }

    public void gravaGerente() {
        try {
            FileOutputStream fo = new FileOutputStream("src/AquirvosTXT/Gerente.dat");//Dados aqui e o nome do pacote e clientes.dat e o nome do meu arquivo para salvar nele
            try (ObjectOutputStream oo = new ObjectOutputStream(fo)) {
                oo.writeObject(gerentes);
            }
            System.out.println("Dados gravados com sucesso");
        } catch (Exception e) {
            System.err.println("Erro ao serializar " + e.getMessage());
        }  
    }  
      
   public Gerente PesquisaAgencia(String cod){
        
           Gerente gerente = null;
        int i;
        for (i = 0; i < gerentes.size(); i++){
            
        if (cod.equals(gerentes.get(i).getNome()) == true)
                gerente = gerentes.get(i) ;
              
                
        }
         return gerente;
      
    } 
   
   
     public Gerente PesquisaGerente(String cod){
        
           Gerente gerente = null;
        int i;
        for (i = 0; i < gerentes.size(); i++){
            
        if (cod.equals(gerentes.get(i).getNomeusuario()) == true)
                gerente = gerentes.get(i) ;
              
                
        }
         return gerente;
      
    }
    public void excluirGerente(Gerente a){
        
        int i;
        for (i = 0; i < gerentes.size(); i++){
            
            if (a.getNomeusuario().equals(gerentes.get(i).getNomeusuario()))
                gerentes.remove(i);
                
        }
    }

    public ArrayList<Gerente> getGerentes() {
        return gerentes;
    }

    public void setGerentes(ArrayList<Gerente> gerentes) {
        this.gerentes = gerentes;
    }
  

    
    public void adicinarAgencia(Gerente a){
        gerentes.add(a);
    }
 
public int tam(){

   int tam ;
   tam = this.gerentes.size();
    return tam ;

}


}
